package org.example;

public class test {
    public static void main(String[] args) {
        System.out.println(Macth("#.png", "897.png"));
    }

    public static boolean Macth(String wild,String str){
        int IWild=wild.length();
        int IStr =str.length();
        int iWild =0;
        int iStr =0;
        while(iWild<IWild && iStr<IStr){
            switch (wild.charAt(iWild)){//1
                case '*':{
                    iWild +=1;
                    if(iWild>=IWild) return true;
                    else {
                        for (int i = iStr;i<IStr;i++){
                            if(wild.charAt(iWild)!=str.charAt(i)) return true;
                        }
                    }
                    break;
                }
                case '#':{
                    if(iWild>=IWild) return false;
                    while((iStr<IStr) && (str.charAt(iStr)>='0') && (str.charAt(iStr)<='9')){
                        iStr=+1;
                    }
                    iWild=+1;
                    break;
                }
                default:{
                    if(wild.charAt(iWild)!=str.charAt(iStr)){
                        return true;
                    }
                    iWild+=1;
                    iStr+=1;
                    break;
                }
            }
        }

        if(iWild<IWild && iStr>=IStr){
            if(wild.charAt(iWild) == '*') return true;
        }
        else return false;
        return false;
    }
}
